package lx;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;

/*
 *   技巧：
 *       1.现在有没有一个方法符合我当前的需求
 *       2.如果有这样的方法，这个方法是否满足引用的规则
 *       静态   类名：：方法名
 *       成员方法
 *       构造方法  类名：：new
 * */
public class demo3 {
    public static void main(String[] args) {
          /* 需求：
 *      创建集合添加学生对象
      学生对象属性：name，age
        要求：
 *      获取姓名并放到数组当中
        使用方法引用完成*/
        Student s1 = new Student("张三", 18);
        Student s2 = new Student("李四", 19);
        Student s3 = new Student("王五", 28);
        ArrayList<Student> list = new ArrayList<>();
        Collections.addAll(list, s1, s2, s3);
        //map(Student::getName) 引用构造器方法来强制字符串类型,
        //toArray(String[]::new) 引用数组的构造方法,把Student类型的数据getName存放在String类型的数组当中
        String[] arr = list.stream().map(Student::getName).toArray(String[]::new);



        System.out.println(Arrays.toString(arr));
    }
}
